package model

import (
	"errors"
	"gorm.io/gorm"
	"user_srv/global"
)

// 用户表
type User struct {
	gorm.Model
	Mobile   string `gorm:"column:mobile;type:char(11);not null;comment:手机号"`
	Password string `gorm:"column:password;type:varchar(32);not null;comment:密码"`
	Status   int    `gorm:"column:status;type:int;not null;comment:状态"`
}

// 用户注册
func (u *User) Register() error {
	return global.DB.Create(&u).Error
}

// 通过手机号查询用户信息
func GetUserByMobile(mobile string) (u *User, err error) {
	tx := global.DB.Where("mobile = ?", mobile).Find(&u)
	if tx.RowsAffected == 0 {
		return nil, errors.New("用户不存在")
	}
	if tx.Error != nil {
		return nil, errors.New("用户查询失败")
	}
	return u, nil
}
